//   封装动画
function animate(obj, target,callback) {
    // 为防止多次点击停不下来
    clearInterval(obj.timer)
    obj.timer = setInterval(() => {
        //必须要把这个写到里面
        // 为了防止取不到整数需要做一下处理
        var step = (target - obj.offsetLeft) / 10;
         // 用三元表达式处理
        step = step > 0 ? Math.ceil(step) : Math.floor(step)
        if (obj.offsetLeft == target) {
            clearInterval(obj.timer)
            if (callback) {
                //调用函数
                callback();
            }
        } else {
            obj.style.left = obj.offsetLeft + step + 'px';
        }
    }, 30);
}
// function animate(obj, target, callback) {
//     // console.log(callback);  callback = function() {}  调用的时候 callback()

//     // 先清除以前的定时器，只保留当前的一个定时器执行
//     clearInterval(obj.timer);
//     obj.timer = setInterval(function() {
//         // 步长值写到定时器的里面
//         // 把我们步长值改为整数 不要出现小数的问题
//         // var step = Math.ceil((target - obj.offsetLeft) / 10);
//         var step = (target - obj.offsetLeft) / 10;
//         step = step > 0 ? Math.ceil(step) : Math.floor(step);
//         if (obj.offsetLeft == target) {
//             // 停止动画 本质是停止定时器
//             clearInterval(obj.timer);
//             // 回调函数写到定时器结束里面
//             // if (callback) {
//             //     // 调用函数
//             //     callback();
//             // }
//             callback && callback();
//         }
//         // 把每次加1 这个步长值改为一个慢慢变小的值  步长公式：(目标值 - 现在的位置) / 10
//         obj.style.left = obj.offsetLeft + step + 'px';

//     }, 15);
// }